---
title: Developer Guide
sidebar_position: 30
---

# How to build ORAS CLI locally

## Prerequisites

- Go 1.20+
- Git
- Make

## Clone the Repository

Once you have the basic tools installed, fork the repository on GitHub and clone it locally:
```bash
MY_GITHUB_NAME="my-name"
git clone git@github.com:${MY_GITHUB_NAME}/oras.git
cd oras
```

## Building the Binary

To compile and run the tests, just run the `make` command.
Use `make build` to build all platform binaries to the `bin/` directory.

Mac:

```bash
# builds to
# - bin/darwin/amd64/oras
# - bin/darwin/arm64/oras
make build-mac

# builds to bin/darwin/amd64/oras
make build-mac-amd64

# builds to bin/darwin/arm64/oras
make build-mac-arm64
```

Linux:

```bash
# builds to
# - bin/linux/arm64/oras
# - bin/linux/amd64/ora
# - bin/linux/arm/v7/orass
make build-linux

# builds to bin/linux/arm64/oras
make build-linux-arm64

# builds to bin/linux/amd64/oras
make build-linux-amd64

# builds to bin/linux/arm/v7/oras
make build-linux-arm-v7
```

Windows:

```bash
# builds to bin/windows/amd64/oras.exe
make build-windows
```

## Cleaning Your Workspace

To remove all files not manged by git, run `make clean` (be careful!)

## Managing Dependencies

[Using Go Modules](https://blog.golang.org/using-go-modules) to manage dependencies.

To update or add new dependencies, run `go get <package name>`.